package dao;

import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Map;

import conector.mysql;

public class clasificacionesDao extends mysql{
	
	static logs.generador logs = new logs.generador();
	
	
	public int returnGolesFavor(int equipo,int id_categoria,int id_competicion,int temporada) throws SQLException{
		String queryString = "SELECT MAX(goles_favor) AS puntos FROM clasificaciones WHERE id_equipo = '"+equipo+"' AND id_categoria='"+id_categoria+"' AND id_competicion = '"+id_competicion+"' AND temporada='"+temporada+"'";
		ResultSet resultSet = mysql.queryObj(queryString);
		while (resultSet.next()){
			int puntos =  resultSet.getInt("puntos");
			return puntos;
		}
		return 0;
	}
	
	public int returnGolesContra(int equipo,int id_categoria,int id_competicion,int temporada) throws SQLException{
		String queryString = "SELECT MAX(goles_contra) AS puntos FROM clasificaciones WHERE id_equipo = '"+equipo+"' AND id_categoria='"+id_categoria+"' AND id_competicion = '"+id_competicion+"' AND temporada='"+temporada+"'";
		ResultSet resultSet = mysql.queryObj(queryString);
		while (resultSet.next()){
			int puntos =  resultSet.getInt("puntos");
			return puntos;
		}
		return 0;
	}
	
	public int returnPuntos(int equipo,int id_categoria,int id_competicion,int temporada) throws SQLException{
		String queryString = "SELECT MAX(puntos) AS puntos FROM clasificaciones WHERE id_equipo = '"+equipo+"' AND id_categoria='"+id_categoria+"' AND id_competicion = '"+id_competicion+"' AND temporada='"+temporada+"'";
		ResultSet resultSet = mysql.queryObj(queryString);
		while (resultSet.next()){
			int puntos =  resultSet.getInt("puntos");
			return puntos;
		}
		return 0;
	}
	
	public int returnPG(int equipo,int id_categoria,int id_competicion,int temporada) throws SQLException{
		String queryString = "SELECT MAX(pg) AS puntos FROM clasificaciones WHERE id_equipo = '"+equipo+"' AND id_categoria='"+id_categoria+"' AND id_competicion = '"+id_competicion+"' AND temporada='"+temporada+"'";
		ResultSet resultSet = mysql.queryObj(queryString);
		while (resultSet.next()){
			int puntos =  resultSet.getInt("puntos");
			return puntos;
		}
		return 0;
	}
	
	public int returnPE(int equipo,int id_categoria,int id_competicion,int temporada) throws SQLException{
		String queryString = "SELECT MAX(pe) AS puntos FROM clasificaciones WHERE id_equipo = '"+equipo+"' AND id_categoria='"+id_categoria+"' AND id_competicion = '"+id_competicion+"' AND temporada='"+temporada+"'";
		ResultSet resultSet = mysql.queryObj(queryString);
		while (resultSet.next()){
			int puntos =  resultSet.getInt("puntos");
			return puntos;
		}
		return 0;
	}
	
	public int returnPP(int equipo,int id_categoria,int id_competicion,int temporada) throws SQLException{
		String queryString = "SELECT MAX(pp) AS puntos FROM clasificaciones WHERE id_equipo = '"+equipo+"' AND id_categoria='"+id_categoria+"' AND id_competicion = '"+id_competicion+"' AND temporada='"+temporada+"'";
		ResultSet resultSet = mysql.queryObj(queryString);
		while (resultSet.next()){
			int puntos =  resultSet.getInt("puntos");
			return puntos;
		}
		return 0;
	}
	
	/*
	 * 
	 * 
	 * 
	 */
	
	
	public void crearTablaClasificaciones() throws IOException, SQLException{
		logs.escribir("EMPEZAMOS A CREAR LA TABLA CLASIFICACIONES");
		String queryString = "CREATE TABLE `clasificaciones` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`temporada` int(11) DEFAULT NULL,"+
															  "`id_categoria` int(11) DEFAULT NULL,"+
															  "`id_competicion` int(11) DEFAULT NULL,"+
															  "`jornada` int(11) DEFAULT NULL,"+
															  "`id_equipo` int(11) DEFAULT NULL,"+
															  "`puntos` int(11) DEFAULT NULL,"+
															  "`posicion` int(11) DEFAULT NULL,"+
															  "`goles_favor` int(11) DEFAULT NULL,"+
															  "`goles_contra` int(11) DEFAULT NULL,"+
															  "`pg` int(11) DEFAULT NULL,"+
															  "`pe` int(11) DEFAULT NULL,"+
															  "`pp` int(11) DEFAULT NULL,PRIMARY KEY (id)"+
															") ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;";
		mysql.executeUpdate(queryString);
		logs.escribir("TABLA CLASIFICACIONES CREADA");
	} 	
	
	
	public void generarClasificacionEquipo(Map<String, Integer> clasificacion) throws SQLException{
		String queryString = "INSERT INTO `clasificaciones`"+
									            "(`id`,"+
									             "`temporada`,"+
									             "`id_categoria`,"+
									             "`id_competicion`,"+
									             "`jornada`,"+
									             "`id_equipo`,"+
									             "`puntos`,"+
									             "`posicion`,"+
									             "`goles_favor`,"+
									             "`goles_contra`,"+
									             "`pg`,"+
									             "`pe`,"+
									            "`pp`)"+
										"VALUES (null,"+
										        "'"+clasificacion.get("temporada")+"',"+
										        "'"+clasificacion.get("id_categoria")+"',"+
										        "'"+clasificacion.get("id_competicion")+"',"+
										        "'"+clasificacion.get("jornada")+"',"+
										        "'"+clasificacion.get("id_equipo")+"',"+
										        "'"+clasificacion.get("puntos")+"',"+
										        "'"+clasificacion.get("posicion")+"',"+
										        "'"+clasificacion.get("goles_favor")+"',"+
										        "'"+clasificacion.get("goles_contra")+"',"+
										        "'"+clasificacion.get("pg")+"',"+
										        "'"+clasificacion.get("pe")+"',"+
										        "'"+clasificacion.get("pp")+"');";
		mysql.executeUpdate(queryString);
	}

	public static int totalClasificaciones() throws SQLException {
			String queryString="SELECT COUNT(id) as total FROM clasificaciones;";
			ResultSet resultSet = mysql.queryObj(queryString);
			while (resultSet.next()){
				int valor =  resultSet.getInt("total");
				return valor;
			}
			return 0;
	}

	
	
/*
	
	CREATE TABLE `clasificaciones` (
			  `id` int(11) DEFAULT NULL,
			  `temporada` int(11) DEFAULT NULL,
			  `id_categoria` int(11) DEFAULT NULL,
			  `id_competicion` int(11) DEFAULT NULL,
			  `jornada` int(11) DEFAULT NULL,
			  `id_equipo` int(11) DEFAULT NULL,
			  `puntos` int(11) DEFAULT NULL,
			  `posicion` int(11) DEFAULT NULL,
			  `goles_favor` int(11) DEFAULT NULL,
			  `goles_contra` int(11) DEFAULT NULL,
			  `pg` int(11) DEFAULT NULL,
			  `pe` int(11) DEFAULT NULL,
			  `pp` int(11) DEFAULT NULL
			) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci; */
	
}
